package com.mac.hosp_pre.user.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mac.hosp_pre.user.entity.UserInfo;
import com.mac.hosp_pre.user.model.req.LoginReqDto;
import com.mac.hosp_pre.user.model.req.UserAuthReqDto;
import com.mac.hosp_pre.user.model.req.UserInfoQueryReqDto;
import com.mac.hosp_pre.user.model.resp.UserRespDto;
import me.chanjar.weixin.common.bean.WxOAuth2UserInfo;

import java.util.Map;

public interface UserInfoService extends IService<UserInfo> {
    //用户手机号登录接口
    Map<String, Object> loginUser(LoginReqDto login);

    //根据openid判断
    UserRespDto selectWxInfoOpenId(String openid);

    //用户认证
    void userAuth(Long userId, UserAuthReqDto userAuth);

    //用户列表（条件查询带分页）
    IPage<UserRespDto> selectPage(UserInfoQueryReqDto userInfoQuery);

    //用户锁定
    void lock(Long userId, Integer status);

    //用户详情
    Map<String, Object> detail(Long userId);

    //认证审批
    void approval(Long userId, Integer authStatus);

    UserRespDto getOrSaveUserInfoOpenId(WxOAuth2UserInfo auth2UserInfo, String openId);
}
